package com.zynn.common.pojo.dto.event;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.util.Date;
import java.util.Objects;

/**
 * 动态评论表
 *
 * @author 刘天元
 * @date 2018年5月20日9:17:54
 **/
@Data
public class EventCommentDTO {

    @JsonSerialize(using=ToStringSerializer.class)
    private Long id;

    /**
     * 动态id
     */
    @JsonSerialize(using=ToStringSerializer.class)
    private Long eventId;

    /**
     * 评论人的用户id
     */
    @JsonSerialize(using=ToStringSerializer.class)
    private Long commentUserId;

    /**
     * 评论人的用户昵称
     */
    private String commentUserNickName;
    
    /**
     * 评论者头像
     */
    private String commentPicUrl;

    /**
     * 被评论人的用户id
     */
    @JsonSerialize(using=ToStringSerializer.class)
    private Long beCommentUserId;

    /**
     * 被评论人的用户昵称
     */
    private String beCommentUserNickName;

    /**
     * 被评论者头像
     */
    private String beCommentPicUrl;

    /**
     * 评论内容
     */
    private String commentContent;

    /**
     * 评论地点
     */
    private String commentPlace;

    /**
     * 评论时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date commentTime;

    /**
     * 是否有效,1有效,0无效
     */
    @JsonIgnore
    private Integer isValid;


    /**
     * 自评数据处理
     */
    public void oneselfEvaluate(){
        if(Objects.isNull(this.getBeCommentUserId())){
            //论者是自己，被评论息不存在，默认使用自己的信息
            this.setBeCommentPicUrl(this.getCommentPicUrl());
            this.setBeCommentUserId(this.getCommentUserId());
            this.setBeCommentUserNickName(this.getCommentUserNickName());
        }
    }

}